package sd.zhr.moodcapsule.mapper;

import org.apache.ibatis.annotations.Mapper;
import sd.zhr.moodcapsule.pojo.MoodCapsule;

import java.util.List;

@Mapper
public interface MoodCapsuleMapper {
    List<MoodCapsule> getAllMoodCapsule(MoodCapsule moodCapsule);
    /**
     * 根据主键删除记录。
     *
     * @param id 主键ID
     * @return 返回受影响的行数（1 表示删除成功，0 表示未找到记录）
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 插入一条完整的记录。
     *
     * @param record 要插入的记录对象
     * @return 返回受影响的行数（1 表示插入成功）
     */
    int insert(MoodCapsule record);

    /**
     * 插入一条记录，但只插入非空字段。
     *
     * @param record 要插入的记录对象
     * @return 返回受影响的行数（1 表示插入成功）
     */
    int insertSelective(MoodCapsule record);

    /**
     * 根据主键查询记录。
     *
     * @param id 主键ID
     * @return 返回查询到的记录对象，如果没有找到则返回 null
     */
    MoodCapsule selectByPrimaryKey(Integer id);

    /**
     * 根据主键更新记录，只更新非空字段。
     *
     * @param record 要更新的记录对象
     * @return 返回受影响的行数（1 表示更新成功，0 表示未找到记录）
     */
    int updateByPrimaryKeySelective(MoodCapsule record);

    /**
     * 根据主键更新记录，包括 BLOB 字段（如文本、二进制数据等）。
     *
     * @param record 要更新的记录对象
     * @return 返回受影响的行数（1 表示更新成功，0 表示未找到记录）
     */
    int updateByPrimaryKeyWithBLOBs(MoodCapsule record);

    /**
     * 根据主键更新记录，更新所有字段。
     *
     * @param record 要更新的记录对象
     * @return 返回受影响的行数（1 表示更新成功，0 表示未找到记录）
     */
    int updateByPrimaryKey(MoodCapsule record);
}